package com.wmh.baseservice.user.service;

import com.alibaba.fastjson.JSONObject;
import com.wmh.baseservice.merchant.pojo.MerchantActivity;
import com.wmh.baseservice.user.pojo.UsActivityRegister;
import com.wmh.baseservice.common.mybatisplus.methods.CommonService;
import com.wmh.baseservice.user.pojo.UsInfo;

/**
 * @author wmh generator
 * @since 2022-04-09
 */
public interface UsActivityRegisterService extends CommonService<UsActivityRegister> {

    /**
     * 活动报名余额支付
     */
    void payBalance(MerchantActivity merchantActivity, UsInfo usInfo);

    /**
     * 活动报名
     * @param merchantActivity  活动
     * @param usInfo 用户信息
     * @param method 报名方式 1 收费 0 免费
     * @param nowStatus 当前报名的状态 0报名未支付 1报名
     * @return 订单号
     */
    String register(MerchantActivity merchantActivity , UsInfo usInfo, Integer method, Integer nowStatus);


    /**
     * 取消报名
     * @param registerId  记录ID
     * */
    void cancelSignUp(Long registerId);

    /**
     * 微信支付报名提交校验
     * @param orderNum 订单号
     * @return 需要后续处理的变量
     * */
    JSONObject wechatPaySignUpCommitCheck(String orderNum);

    /**
     * 微信支付报名 完成支付 回调
     * @param orderNum  订单号
     * */
    void wechatPaySignUpComplete(String orderNum);

    /**
     * 发送报名信息
     * @param merchantActivity  活动
     * @param usInfo 用户信息
     * @param usRegisterInfo 用户报名记录
     * */
    void sendMessage(MerchantActivity merchantActivity , UsInfo usInfo, UsActivityRegister usRegisterInfo);
}
